package com.spsoft.vatoutinv.model.vo.vmsfulloutinvoice;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 数电发票特定业务表
 * </p>
 *
 * @author chenxudong
 * @since 2024-02-04
 */
@Data
@ApiModel(value="InvoiceTdywVO对象", description="数电发票特定业务表")
public class InvoiceTdywVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long tdywId;

    /**
     * 数电发票表主键id
     */
    @ApiModelProperty(value = "数电发票表id;发票表主键")
    private Long foidid;

    /**
     * 不动产坐落地址（省）
     * 必须以省、自治区、特别行政区、北京市、天津市、上海市、重庆市任意一个关键词结尾
     */
    @ApiModelProperty(value = "不动产坐落地址（省），必须以省、自治区、特别行政区、北京市、天津市、上海市、重庆市任意一个关键词结尾")
    private String bdczldzS;

    /**
     * 不动产坐落地址（市）
     * 必须以市、盟、自治州、地区、区任意一个关键词结尾
     */
    @ApiModelProperty(value = "不动产坐落地址（市），必须以市、盟、自治州、地区、区任意一个关键词结尾")
    private String bdczldzS1;

    /**
     * 不动产坐落地址（详细地址）
     * 必须包含街、路、村、乡、镇、道、巷、号任意一个关键词
     */
    @ApiModelProperty(value = "不动产坐落地址（详细地址），必须包含街、路、村、乡、镇、道、巷、号任意一个关键词")
    private String bdczldzXxdz;

    /**
     * 租赁期起止
     * “租赁期起”+“空格”+“租赁期止”，其中租赁期起、止的格式为yyyy-MM-dd
     */
    @ApiModelProperty(value = "租赁期起止;“租赁期起”+“空格”+“租赁期止”，其中租赁期起、止的格式为yyyy-MM-dd")
    private String zlqqz;

    /**
     * 跨地（市）标志
     * Y：是 N：否
     */
    @ApiModelProperty(value = "跨地（市）标志;Y：是 N：否")
    private String kdsbz;

    /**
     * 产权证书/不动产权证号
     * 无“产权证书/不动产权证号”时，填写 “无”
     */
    @ApiModelProperty(value = "产权证书/不动产权证号;无“产权证书/不动产权证号”时，填写 “无”")
    private String cqzsbh;

    /**
     * 不动产单位代码
     * “不动产单位代码”和“网签合同备案编号”两者只能填一个
     */
    @ApiModelProperty(value = "不动产单位代码;“不动产单位代码”和“网签合同备案编号”两者只能填一个")
    private String bdcdwdm;

    /**
     * 网签合同备案编号
     * “不动产单位代码”和“网签合同备案编号”两者只能填一个
     */
    @ApiModelProperty(value = "网签合同备案编号;“不动产单位代码”和“网签合同备案编号”两者只能填一个")
    private String wqhtbabh;

    /**
     * 土地增值税项目编号
     */
    @ApiModelProperty(value = "土地增值税项目编号")
    private String tdzzsxmbh;

    /**
     * 核定计税价格
     * 不属于核定计税不动产销售的可不填写
     */
    @ApiModelProperty(value = "核定计税价格;不属于核定计税不动产销售的可不填写")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal hdjsjg;

    /**
     * 实际成交含税金额
     * 若按核定计税价格征税的，为必填
     */
    @ApiModelProperty(value = "实际成交含税金额;若按核定计税价格征税的，为必填")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal sjcjhsje;

    /**
     * 面积单位
     * 只能是平方米、平方千米、公顷、亩、h㎡、k㎡、㎡等
     */
    @ApiModelProperty(value = "面积单位;只能是平方米、平方千米、公顷、亩、h㎡、k㎡、㎡等")
    private String mjdw;

    /**
     * 多方共同购买标志
     * Y：多方共同购买 N：非多方共同购买  当为N或者空时，共同购买方list必须为空
     */
    @ApiModelProperty(value = "多方共同购买标志;Y：多方共同购买 N：非多方共同购买  当为N或者空时，共同购买方list必须为空")
    private String dfgtgmbz;

    /**
     * 出行人序号
     */
    @ApiModelProperty(value = "出行人序号")
    private Integer cxrxh;

    /**
     * 出行人
     */
    @ApiModelProperty(value = "出行人")
    private String cxr;

    /**
     * 出行人证件类型
     * 100：单位
     * 101：组织机构代码证
     * 102：营业执照
     * 103：税务登记证
     * 199：其他单位证件
     * 200：个人
     * 201：居民身份证
     * 202：军官证
     * 203：武警警官证
     * 204：士兵证
     * 205：军队离退休干部证
     * 206：残疾人证
     * 207：残疾军人证（1-8 级）
     * 208：外国护照
     * 209：港澳同胞回乡证
     * 210：港澳居民来往内地通行证
     * 211：台胞证
     * 212：中华人民共和国往来港澳通行证
     * 213：台湾居民来往大陆通行证
     * 214：大陆居民往来台湾通行证
     * 215：外国人居留证
     * 216：外交官证
     * 217：使（领事）馆证
     * 218：海员证
     * 219：香港永久性居民身份证
     * 220：台湾身份证
     * 221：澳门特别行政区永久性居民身份证
     * 222：外国人身份证件
     * 223：高校毕业生自主创业证
     * 224：就业失业登记证
     * 225：退休证
     * 226：离休证
     * 227：中国护照
     * 228：城镇退役士兵自谋职业证
     * 229：随军家属身份证明
     * 230：中国人民解放军军官转业证书
     * 231：中国人民解放军义务兵退出现役证
     * 232：中国人民解放军士官退出现役证
     * 233：外国人永久居留身份证（外国人永久居留证）
     * 234：就业创业证
     * 235：香港特别行政区护照
     * 236：澳门特别行政区护照
     * 237：中华人民共和国港澳居民居住证
     * 238：中华人民共和国台湾居民居住证
     * 239：《中华人民共和国外国人工作许可证》（A 类）
     * 240：《中华人民共和国外国人工作许可证》（B 类）
     * 241：《中华人民共和国外国人工作许可证》（C 类）
     * 291：出生医学证明
     * 299：其他个人证件
     */
    @ApiModelProperty(value = "出行人证件类型;100：单位	101：组织机构代码证	102：营业执照	103：税务登记证	199：其他单位证件	200：个人	201：居民身份证	202：军官证	203：武警警官证	204：士兵证	205：军队离退休干部证	206：残疾人证	207：残疾军人证（1-8 级）	208：外国护照	209：港澳同胞回乡证	210：港澳居民来往内地通行证	211：台胞证	212：中华人民共和国往来港澳通行证	213：台湾居民来往大陆通行证	214：大陆居民往来台湾通行证	215：外国人居留证	216：外交官证	217：使（领事）馆证	218：海员证	219：香港永久性居民身份证	220：台湾身份证	221：澳门特别行政区永久性居民身份证	222：外国人身份证件	223：高校毕业生自主创业证	224：就业失业登记证	225：退休证	226：离休证	227：中国护照	228：城镇退役士兵自谋职业证	229：随军家属身份证明	230：中国人民解放军军官转业证书	231：中国人民解放军义务兵退出现役证	232：中国人民解放军士官退出现役证	233：外国人永久居留身份证（外国人永久居留证）	234：就业创业证	235：香港特别行政区护照	236：澳门特别行政区护照	237：中华人民共和国港澳居民居住证	238：中华人民共和国台湾居民居住证	239：《中华人民共和国外国人工作许可证》（A 类）	240：《中华人民共和国外国人工作许可证》（B 类）	241：《中华人民共和国外国人工作许可证》（C 类）	291：出生医学证明	299：其他个人证件")
    private String cxrzjlxdm;

    /**
     * 有效身份证件号
     */
    @ApiModelProperty(value = "有效身份证件号")
    private String sfzjhm;

    /**
     * 出行日期;格式：yyyy-MM-dd
     */
    @ApiModelProperty(value = "出行日期;格式：yyyy-MM-dd")
    private String chuxrq;

    /**
     * 旅客出发地
     */
    @ApiModelProperty(value = "旅客出发地")
    private String cfd;

    /**
     * 旅客到达地
     */
    @ApiModelProperty(value = "旅客到达地")
    private String ddd;

    /**
     * 交通工具类型
     * 1：飞机，2：火车，3：长途汽车，4：公共交通，5：出租车，6：汽车，7：船舶，9：其他
     */
    @ApiModelProperty(value = "交通工具类型;1：飞机，2：火车，3：长途汽车，4：公共交通，5：出租车，6：汽车，7：船舶，9：其他")
    private String jtgjlxdm;

    /**
     * 座位等级
     * 1、交通工具为火车时：
     * 一等座、二等座、软席（软座、软卧）、硬席（硬座、硬卧）
     * 2、交通工具为飞机时：
     * 公务舱、头等舱、经济舱
     * 3、交通工具为船舶（不包括旅游船）时：
     * 一等舱、二等舱、三等舱
     */
    @ApiModelProperty(value = "座位等级;1、交通工具为火车时：	一等座、二等座、软席（软座、软卧）、硬席（硬座、硬卧）	2、交通工具为飞机时：	公务舱、头等舱、经济舱	3、交通工具为船舶（不包括旅游船）时：	一等舱、二等舱、三等舱")
    private String zwdj;

}
